$(function () {

  initAttrCateList()
  let layer = layui.layer
  let form = layui.form

  function initAttrCateList() {
    $.ajax({
      method: 'GET',
      url: '/my/article/cates',
      success: function (res) {
        let htmlStr = template("tpl-table", res)
        $('tbody').html(htmlStr)
      }
    })
  }

  // 为添加分类添加点击事件
  let indexAdd
  $("#btnAddCate").on("click", function (e) {
    indexAdd = layer.open({
      title: '添加文章分类',
      type: 1,
      area: ['500px', '250px'],
      content: $('#dialog-add').html()
    });
  })

  // 通过代理的形式，为 form-add 表单绑定 submit 事件
  $('body').on('submit', '#form-add', function (e) {
    e.preventDefault();
    $.ajax({
      method: 'POST',
      url: '/my/article/addcates',
      data: $(this).serialize(),
      success: function (res) {
        if (res.status !== 0) {
          return layer.msg('新增分类失败！')
        }
        initAttrCateList()
        layer.msg('新增分类成功！')
        // 根据索引关闭弹出层
        layer.close(indexAdd)
      }
    })
  })

  // 通过代理的形式，为修改按钮添加点击事件
  let indexEdit
  $('tbody').on("click", '.btn-editor', function () {
    let id = $(this).attr("data-id")
    indexEdit = layer.open({
      title: '修改文章分类',
      type: 1,
      area: ['500px', '250px'],
      content: $('#dialog-edit').html()
    });

    $.ajax({
      method: 'GET',
      url: '/my/article/cates/' + id,
      success: function (res) {
        form.val("form-edit", res.data)
      }
    })
  })

  // 通过代理的形式，为修改分类表单添加提交事件
  $('body').on("submit", "#form-edit", function (e) {
    e.preventDefault()

    $.ajax({
      method: "POST",
      url: "/my/article/updatecate",
      data: $(this).serialize(),
      success: function (res) {
        console.log(res);
        if (res.status !== 0) {
          return layer.msg('更新分类数据失败！')
        }
        layer.close(indexEdit)
        layer.msg('更新数据成功！')
        initAttrCateList()
      }
    })
  })

  // 通过代理的形式，为删除分类添加点击事件
  $('tbody').on("click", ".btn-del", function (e) {
    let id = $(this).attr("data-id");

    // 提示用户是否要删除
    layer.confirm('是否确认删除?', { icon: 3, title: '提示' }, function (index) {
      $.ajax({
        method:'GET',
        url:'/my/article/deletecate/'+id,
        success: function(res){
          if(res.status!==0){
            return layer.msg("删除分类失败！")
          }
          layer.msg("删除分类成功！")
          layer.close(index);
          initAttrCateList()
        }
      })
    });
  })
})